import common_functions as cf
# 定义完列表以后，里面有很多的元素，如果需要访问其中的某个元素，就可以使用索引
# 列表增删改查这种需求很常见
cf.cut_block("原始列表")
classmates = ["李四", "张三", "王五", "李四", 1024, True]
print(classmates)

# 比如这里访问（①查询）"王五"这个元素,注意：索引就是数字序号，从0开始
cf.cut_block("正索引学习")
wang_wu = classmates[2]
print('classmates[2] = ' + wang_wu)

# 索引还可以是负数，负数从后往前数，从-1开始，依次是-2，-3
cf.cut_block("负索引学习")
wang_wu1 = classmates[-4]
print('classmates[-4] = ' + wang_wu1)

# ②修改指定位置元素的值,将索引为3的元素修改为赵六
cf.cut_block("修改列表元素")
classmates[3] = '赵六'
print(classmates)

# ③增加元素，往末尾追加一个元素‘孙七’
cf.cut_block("添加列表元素")
classmates.append('孙七')
print('*' * 50)
print(classmates)

# ③增加元素，往索引为4的位置插入一个元素‘周九’
classmates.insert(4, '周九')
print(classmates)

# ④删除指定位置的元素使用del+列表名[index]
# ['李四', '张三', '王五', '赵六', '周九', 1024, True, '孙七']，比如要删除1024
cf.cut_block("删除列表元素")
del classmates[5]
print(classmates)

# ④删除元素并且取出元素(弹出):val = 列表名.pop(index):
#   pop是方法
#   val接收弹出值的变量
cf.cut_block("开始弹出")
val = classmates.pop(5)
print(classmates)
print(val)

# ④删除指定值:列表名.remove(val)
classmates.remove('孙七')
print(classmates)

# 如果传的值不在列表里,会报错
# classmates.remove('孙七')
